gui/macOS: Correctly retain/release manager and domain in sync status object
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 26 Mar 2025 12:25:34 +0000 (13:25 +0100)
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>
Thu, 27 Mar 2025 14:16:05 +0000 (14:16 +0000)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/macOS/fileproviderdomainsyncstatus_mac.mm

index 17e77a680da97ef6f2db3cf56e18ebd2221c159b..76e88d1fa8e16c94d25c16730886198e77137222 100644 (file)
@@ -41,6 +41,7 @@ public:
             qCWarning(lcMacFileProviderDomainSyncStatus) << "Could not get manager for domain" << domainIdentifier;
             return;
         }
+        [_manager retain];
 
         if (@available(macOS 11.3, *)) {
             NSProgress *const downloadProgress = [_manager globalProgressForKind:NSProgressFileOperationKindDownloading];
@@ -61,6 +62,8 @@ public:
     {
         [_downloadProgressObserver release];
         [_uploadProgressObserver release];
+        [_domain release];
+        [_manager release];
     }
 
     void updateDownload(NSProgress *const progress) const